package 剑指offer;

/**
 * @description:
 * @author: ywk
 * @date: 2021-04-01
 */
public class 反转数字 {
    /**
     * 将给出的32位整数x翻转。
     * 例1:x=123，返回321
     * 例2:x=-123，返回-321
     *
     * 你有注意到翻转后的整数可能溢出吗？因为给出的是32位整数，则其数值范围为。翻转可能会导致溢出，如果反转后的结果会溢出就返回 0。
     * @param x
     * @return
     */
    public static int reverse (int x) {
        // write code here
        long reverse = 0;
        int symbol=x>0?1:-1;
        while (x != 0) {
            reverse = reverse * 10 + x % 10;
            x = x / 10;
        }
        if (reverse > 0 && reverse > Integer.MAX_VALUE) {
            return 0;
        }
        if (reverse < 0 && reverse < Integer.MIN_VALUE) {
            return 0;
        }
        return (int) reverse;
    }

    public static void main(String[] args) {
        System.out.println(reverse(-123));

    }

}
